perm filename GFTOPX.DIF[MF,ALS] blob
sn#767296 filedate 1984-09-09 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 1) GFTOPX.WEB[MF,ALS] and 2) GFTOPX.WEB[MF,SYS] 9-09-84 09:02 pages 1,1
C00013 00003 1) GFTOPX.WEB[MF,ALS] and 2) GFTOPX.WEB[MF,SYS] 9-09-84 09:02 pages 10,10
C00016 00004 1) GFTOPX.WEB[MF,ALS] and 2) GFTOPX.WEB[MF,SYS] 9-09-84 09:02 pages 10,10
C00017 ENDMK
C⊗;
1) GFTOPX.WEB[MF,ALS] and 2) GFTOPX.WEB[MF,SYS] 9-09-84 09:02 pages 1,1
**** File 1) GFTOPX.WEB[MF,ALS]/1P/4L
1) C00002 00002 % This program is based on GFtype and in part contains material extracted from
1) C00005 00003 @* Introduction.
1) C00013 00004 @* Optional modes of output.
1) C00022 00005 @* The character set.
1) C00030 00006 @* Generic font file format.
1) C00055 00007 @* Input and Output for binary files.
1) C00065 00008 @* Translation to raster form.
1) C00080 00009 @* Reading the postamble.
1) C00088 00010 @* PXL Matrix Format.
1) C00101 00011 @* The main program.
1) C00107 00012 @* System-dependent changes.
1) C00108 00013 @* Index.
1) C00109 ENDMK
1) C⊗;
1) % This program is based on GFtype and in part contains material extracted from
1) % program GFtoAMF that is covered by
1) % copyright (C) 1984 by D. R. Fuchs. All rights reserved.
1) % Version 0 was implemented in June 1984.
1) % Here is TeX material that gets inserted after \input webmac
**** File 2) GFTOPX.WEB[MF,SYS]/1P/4L
2) C00002 00002 % This program is based on an early version of GFtype.
2) C00006 00003 @* Introduction.
2) C00014 00004 @* Optional modes of output.
2) C00023 00005 @* The character set.
2) C00031 00006 @* Generic font file format.
2) C00056 00007 @* Input and Output for binary files.
2) C00066 00008 @* Translation to raster form.
2) C00081 00009 @* Reading the postamble.
2) C00089 00010 @* PXL Matrix Format.
2) C00102 00011 @* The main program.
2) C00108 00012 @* System-dependent changes.
2) C00109 00013 @* Index.
2) C00110 ENDMK
2) C⊗;
2) % This program is based on an early version of GFtype.
2) % Although PXL files are now obsolete (since, for example, they can't
2) % handle fonts with more than 128 characters), this program may be
2) % needed for awhile to interface with old-fashioned software.
2) % Version 1.0 was implemented in June 1984 by Arthur Samuel.
2) % Version 1.1 corrected a bug in the reference point offset (DEK, Sep 84).
2) % Here is TeX material that gets inserted after \input webmac
***************
**** File 1) GFTOPX.WEB[MF,ALS]/2P/36L
1) \centerline{(Version 1.0, \today)}
1) \vfill}
**** File 2) GFTOPX.WEB[MF,SYS]/2P/39L
2) \centerline{(Version 1.1, \today)}
2) \vfill}
***************
**** File 1) GFTOPX.WEB[MF,ALS]/3P/15L
1) @d banner=='This is GFtoPXL, Version 1.0' {printed when the program starts}
1) @d resolution==200.0 {pixelx per inch, standard for pxl files}
**** File 2) GFTOPX.WEB[MF,SYS]/3P/15L
2) @d banner=='This is GFtoPXL, Version 1.1' {printed when the program starts}
2) @d resolution==200.0 {pixelx per inch, standard for pxl files}
***************
**** File 1) GFTOPX.WEB[MF,ALS]/3P/83L
1) @!top_pixel=400; {boundary of pixel image of glyph}
1) @!bot_pixel=-150;
1) @!left_pixel=-150;
1) @!right_pixel=400;
1) @ Here are some macros for common programming idioms.
**** File 2) GFTOPX.WEB[MF,SYS]/3P/83L
2) @!top_pixel=700; {boundary of pixel image of glyph}
2) @!bot_pixel=-250;
2) @!left_pixel=-250;
2) @!right_pixel=750;
2) @ Here are some macros for common programming idioms.
***************
**** File 1) GFTOPX.WEB[MF,ALS]/8P/243L
1) print_ln('before: minx=',min_x:1,' maxx=',max_x:1,' miny=',min_y:1,' maxy=',max_y:1);
1) gubed@/
**** File 2) GFTOPX.WEB[MF,SYS]/8P/243L
2) print_ln('before: minx=',min_x:1,' maxx=',max_x:1,
2) ' miny=',min_y:1,' maxy=',max_y:1);
2) gubed@/
***************
**** File 1) GFTOPX.WEB[MF,ALS]/8P/295L
1) cols_offset[char_code]←-min_x;
1) rows_offset[char_code]←max_y;
1) num_bytes←4*((cols+31) div 32);
1) @!debug
1) print_ln('after : minx=',min_x:1,' maxx=',max_x:1,' miny=',min_y:1,' maxy=',max_y:1);
1) print_ln('cols=',cols:1,' rows=',rows:1);
**** File 2) GFTOPX.WEB[MF,SYS]/8P/296L
2) num_bytes←4*((cols+31) div 32);
2) @!debug
2) print_ln('after : minx=',min_x:1,' maxx=',max_x:1,
2) ' miny=',min_y:1,' maxy=',max_y:1);
2) print_ln('cols=',cols:1,' rows=',rows:1);
***************
**** File 1) GFTOPX.WEB[MF,ALS]/9P/92L
1) if (q<0)∨(q>post_loc-3) then bad_gf('post pointer ',q:1,' at byte ',post_loc-3:1);
1) @.post pointer is wrong@>
**** File 2) GFTOPX.WEB[MF,SYS]/9P/92L
2) if (q<0)∨(q>post_loc-3) then
2) bad_gf('post pointer ',q:1,' at byte ',post_loc-3:1);
2) @.post pointer is wrong@>
***************
**** File 1) GFTOPX.WEB[MF,ALS]/10P/7L
1) over the design point size that will occur if the \.{PXL} file is
1) used on a 200 pixel per inch output device.
**** File 2) GFTOPX.WEB[MF,SYS]/10P/7L
2) over the design point size that will occur if the \.{PXL} file is
2) used on a 200 pixel per inch output device.
***************
**** File 1) GFTOPX.WEB[MF,ALS]/10P/22L
1) of |max_x-min_x+1| for that particular glyph. Each white pixel is represented
1) by a zero and each black pixel is represented by a one in the corresponding bit
**** File 2) GFTOPX.WEB[MF,SYS]/10P/22L
2) of |max_x-min_x+1| for that particular glyph. Each white pixel is represented
2) by a zero and each black pixel is represented by a one in the corresponding bit
***************
**** File 1) GFTOPX.WEB[MF,ALS]/10P/27L
1) zeros. It should be noted that this representation is more wasteful of
1) space than it needs to be, but it may possibly simplify the
1) subsequent use of the information by a device-driver program.
1) The Font Directory follows, occuping a fixed position with respect to the
1) end of the file (in words 517 through 6 from this end), and assigns 4
**** File 2) GFTOPX.WEB[MF,SYS]/10P/27L
2) zeros. It sould be noted that this representation is more wasteful of
2) space than it needs to be, but it may possibly simplify the
2) subsequent use of the information by a device-driver program.
2) The Font Directory follows, occupying a fixed position with respect to the
2) end of the file (in words 517 through 6 from this end), and assigns 4
1) GFTOPX.WEB[MF,ALS] and 2) GFTOPX.WEB[MF,SYS] 9-09-84 09:02 pages 10,10
***************
**** File 1) GFTOPX.WEB[MF,ALS]/10P/35L
1) values (not in the order that the gliphs appear in the raster section,
1) which may be entirely arbitrary). This means that the first four words are
**** File 2) GFTOPX.WEB[MF,SYS]/10P/35L
2) values (not in the order that the glyphs appear in the raster section,
2) which may be entirely arbitrary). This means that the first four words are
***************
**** File 1) GFTOPX.WEB[MF,ALS]/10P/54L
1) direction means 'rightward' and positive y is 'downward' on the page.
1) The third word of a glyph's directory information contains the number of the
**** File 2) GFTOPX.WEB[MF,SYS]/10P/54L
2) direction means `rightward' and positive y is `downward' on the page.
2) The third word of a glyph's directory information contains the number of the
***************
**** File 1) GFTOPX.WEB[MF,ALS]/10P/90L
1) @!bc,ec:integer;
1) @!pxl_dir_ptr:integer;
**** File 2) GFTOPX.WEB[MF,SYS]/10P/90L
2) @!bc,@!ec:integer;
2) @!pxl_dir_ptr:integer;
***************
**** File 1) GFTOPX.WEB[MF,ALS]/10P/102L
1) glyph_ptr[char_code]←0; {marks nonexistant character}
1) incr(char_code);
**** File 2) GFTOPX.WEB[MF,SYS]/10P/102L
2) glyph_ptr[char_code]←0; {marks nonexistent character}
2) incr(char_code);
***************
**** File 1) GFTOPX.WEB[MF,ALS]/10P/107L
1) @ The |glyph_ptr| is saved in Encode the glyph. Note that two values are
1) still missing, these being the |cols_offset| and the |rows_offset|.
1) @<Save directory info.@>=
**** File 2) GFTOPX.WEB[MF,SYS]/10P/107L
2) @ The |glyph_ptr| is saved in Encode the glyph.
2) @<Save directory info.@>=
***************
1) GFTOPX.WEB[MF,ALS] and 2) GFTOPX.WEB[MF,SYS] 9-09-84 09:02 pages 10,10
**** File 1) GFTOPX.WEB[MF,ALS]/10P/113L
1) cols_offset[char_code]←0;
1) @ @<Start up the |pxl_file|@>=
**** File 2) GFTOPX.WEB[MF,SYS]/10P/112L
2) cols_offset[char_code]←-min_x;
2) rows_offset[char_code]←max_y;
2) @ @<Start up the |pxl_file|@>=
***************
**** File 1) GFTOPX.WEB[MF,ALS]/11P/75L
1) char_code←get_two_bytes; char_code←get_two_bytes;
1) print('[',char_code:1);
**** File 2) GFTOPX.WEB[MF,SYS]/11P/75L
2) char_code←get_two_bytes; char_code←get_two_bytes;
2) print('[',char_code:1);
***************